﻿using System;

class program
{
    static void Main()
    {
        // 提示用户输入下限
        Console.Write("请输入下限: ");
        int lowerBound = GetValidIntegerInput();

        // 提示用户输入上限
        Console.Write("请输入上限: ");
        int upperBound = GetValidIntegerInput();

        // 确保下限小于等于上限，如果不是则交换它们
        if (lowerBound > upperBound)
        {
            int temp = lowerBound;
            lowerBound = upperBound;
            upperBound = temp;
        }

        // 用于记录当前行已经输出的素数个数
        int primesPerLine = 0;

        // 遍历从下限到上限的所有数字
        for (int number = lowerBound; number <= upperBound; number++)
        {
            if (IsPrime(number))
            {
                // 输出素数，并在后面添加一个空格
                Console.Write(number + " ");
                primesPerLine++;

                // 如果当前行已经输出了 10 个素数，则换行
                if (primesPerLine == 10)
                {
                    Console.WriteLine();
                    primesPerLine = 0;
                }
            }
        }

        // 如果最后一行没有满 10 个素数，也换行
        if (primesPerLine > 0)
        {
            Console.WriteLine();
        }
    }

    // 用于获取用户输入的有效整数的方法
    static int GetValidIntegerInput()
    {
        int input;
        while (!int.TryParse(Console.ReadLine(), out input))
        {
            Console.Write("输入无效，请输入一个有效的整数: ");
        }
        return input;
    }

    // 判断一个数是否为素数的方法
    static bool IsPrime(int number)
    {
        // 素数定义要求大于 1
        if (number <= 1)
        {
            return false;
        }
        // 2 是最小的素数
        if (number == 2)
        {
            return true;
        }
        // 偶数（除了 2）都不是素数
        if (number % 2 == 0)
        {
            return false;
        }
        // 从 3 开始，只检查奇数
        for (int i = 3; i * i <= number; i += 2)
        {
            if (number % i == 0)
            {
                return false;
            }
        }
        return true;
    }
}